package com.meida.module.bus.client.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.meida.common.mybatis.annotation.TableAlias;
import com.meida.common.mybatis.base.entity.AbstractEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;

/**
 * 200分包
 *
 * @author flyme
 * @date 2020-10-29
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("bus_material_package200")
@TableAlias("bmp")
@ApiModel(value = "BusMaterialPackage200对象", description = "200分包")
public class BusMaterialPackage200 extends AbstractEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    @TableId(value = "materialPackage100Id", type = IdType.ID_WORKER)
    private Long materialPackage100Id;

    @ApiModelProperty(value = "项目ID")
    private Long projectId;

    @ApiModelProperty(value = "父分包ID")
    private Long parentId;

    @ApiModelProperty(value = "顶级父分包ID")
    private Long topParentId;

    @ApiModelProperty(value = "材料ID")
    private Long materialId;

    @ApiModelProperty(value = "版本ID")
    private Long versionId;

    @ApiModelProperty(value = "专业代码")
    private String majorCode;

    @ApiModelProperty(value = "专业包名称")
    private String majorName;

    @ApiModelProperty(value = "服务代码")
    private String serviceCode;

    @ApiModelProperty(value = "工程包代码")
    private String packageNo;

    @ApiModelProperty(value = "工程包名称")
    private String packageName;

    @ApiModelProperty(value = "服务WBS代码")
    private String serviceWbsCode;

    @ApiModelProperty(value = "科目名称")
    private String subjectName;

    @ApiModelProperty(value = "层级号")
    private String levelNo;

    @ApiModelProperty(value = "分承包发包项目描述")
    private String packageDesc;

    @ApiModelProperty(value = "对外合同描述")
    private String contractDesc;

    @ApiModelProperty(value = "区域")
    private String materialArea;

    @ApiModelProperty(value = "系统")
    private String materialUse;

    @ApiModelProperty(value = "100成本工程量")
    private BigDecimal costQuantity100;

    @ApiModelProperty(value = "200成本工程量")
    private BigDecimal costQuantity200;

    @ApiModelProperty(value = "有合同安装单价")
    private BigDecimal contractInstallPrice1;

    @ApiModelProperty(value = "拟合同安装单价")
    private BigDecimal contractInstallPrice2;

    @ApiModelProperty(value = "合同安装单价")
    private BigDecimal contractInstallPrice3;

    @ApiModelProperty(value = "有合同其他单价")
    private BigDecimal contractOtherPrice1;

    @ApiModelProperty(value = "拟合同其他单价")
    private BigDecimal contractOtherPrice2;

    @ApiModelProperty(value = "合同其他单价")
    private BigDecimal contractOtherPrice3;

    @ApiModelProperty(value = "包商1合同量")
    private BigDecimal supplierNum1;

    @ApiModelProperty(value = "包商2合同量")
    private BigDecimal supplierNum2;

    @ApiModelProperty(value = "包商3合同量")
    private BigDecimal supplierNum3;

    @ApiModelProperty(value = "包商4合同量")
    private BigDecimal supplierNum4;

    @ApiModelProperty(value = "包商5合同量")
    private BigDecimal supplierNum5;

    @ApiModelProperty(value = "包商6合同量")
    private BigDecimal supplierNum6;

    @ApiModelProperty(value = "包商7合同量")
    private BigDecimal supplierNum7;

    @ApiModelProperty(value = "包商8合同量")
    private BigDecimal supplierNum8;

    @ApiModelProperty(value = "包商9合同量")
    private BigDecimal supplierNum9;

    @ApiModelProperty(value = "包商10合同量")
    private BigDecimal supplierNum10;

    @ApiModelProperty(value = "SRM关联表主Key1")
    private Long srmPackageId1;

    @ApiModelProperty(value = "SRM关联表主Key2")
    private Long srmPackageId2;

    @ApiModelProperty(value = "SRM关联表主Key3")
    private Long srmPackageId3;

    @ApiModelProperty(value = "SRM关联表主Key4")
    private Long srmPackageId4;

    @ApiModelProperty(value = "SRM关联表主Key5")
    private Long srmPackageId5;

    @ApiModelProperty(value = "SRM关联表主Key6")
    private Long srmPackageId6;

    @ApiModelProperty(value = "SRM关联表主Key7")
    private Long srmPackageId7;

    @ApiModelProperty(value = "SRM关联表主Key8")
    private Long srmPackageId8;

    @ApiModelProperty(value = "SRM关联表主Key9")
    private Long srmPackageId9;

    @ApiModelProperty(value = "SRM关联表主Key10")
    private Long srmPackageId10;

    @ApiModelProperty(value = "0临时版本 1正式版本 ")
    private Integer versionStatus;

    @ApiModelProperty(value = "100版本计划ID ")
    private Long packagePlan100Id;

    @ApiModelProperty(value = "0未审批 1审批中 2审批通过 ")
    private Integer applayStatus;

    @ApiModelProperty(value = "1修改变更 2追加变更")
    private Integer planType;

    @ApiModelProperty(value = "指令号")
    private String instructNumber;

    @ApiModelProperty(value = "200状态 作为母表数据区分 默认值2")
    private String status;

    @ApiModelProperty(value = "SRM合同下达是否下达 空或者0 为未下达，1 已下达")
    private String srmSyncStatus;

    @ApiModelProperty(value = "计量单位")
    @TableField(exist = false)
    private String measurementUnit;

    @ApiModelProperty(value = "规格--项目名称")
    private String materiaSpecs;

    @ApiModelProperty(value = "分包商1ID")
    @TableField(exist = false)
    private Long supplierId1;

    @ApiModelProperty(value = "分包商2id")
    @TableField(exist = false)
    private Long supplierId2;

    @ApiModelProperty(value = "分包商3id")
    @TableField(exist = false)
    private Long supplierId3;

    @ApiModelProperty(value = "分包商4id")
    @TableField(exist = false)
    private Long supplierId4;

    @ApiModelProperty(value = "分包商5id")
    @TableField(exist = false)
    private Long supplierId5;

    @ApiModelProperty(value = "分包商6id")
    @TableField(exist = false)
    private Long supplierId6;

    @ApiModelProperty(value = "分包商7id")
    @TableField(exist = false)
    private Long supplierId7;

    @ApiModelProperty(value = "分包商8id")
    @TableField(exist = false)
    private Long supplierId8;

    @ApiModelProperty(value = "分包商9id")
    @TableField(exist = false)
    private Long supplierId9;

    @ApiModelProperty(value = "分包商10id")
    @TableField(exist = false)
    private Long supplierId10;
}
